home *** CD-ROM | disk | FTP | other *** search
- ////////////////////////////////////////////////////////
- // hzip.cpp: Huffman file decompressor
- // Copyright (c) 1991 Azarona Software
- // All rights reserved.
- ////////////////////////////////////////////////////////
-
- #include <stdio.h>
- #include <string.h>
- #include "huffdec.h"
-
- main(int argc, char *argv[])
- {
- FILE *f, *g;
-
- if (argc < 2) {
- printf("Usage: hunzip infile [outfile]\n");
- return 0;
- }
-
- f = fopen(argv[1], "rb");
- if (f == NULL) {
- printf("Couldn't open input file: %s\n", argv[1]);
- return 0;
- }
-
- huff_decoder fdec;
-
- if (fdec.connect(f, 0L) == 0) {
- printf("Not an hzip'ed file\n");
- return 0;
- }
-
- if (argc > 2) {
- g = fopen(argv[2], "wb");
- if (g == NULL) {
- printf("Couldn't create output file: %s\n", argv[2]);
- return 0;
- }
- }
- else g = stdout;
-
- while(1) {
- int c = fdec.get_next_char();
- if (c == -1) break;
- fputc(c, g);
- }
-
- fclose(f);
- fclose(g);
- }
-